package com.xiaoye.qbproject.listener;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.xiaoye.qbproject.domain.model.QbSubjectArticleExcelMode;

import java.util.ArrayList;
import java.util.List;

public class QbSubjectArticleExcelModeListener implements ReadListener<QbSubjectArticleExcelMode> {

    private List<QbSubjectArticleExcelMode> dataList = new ArrayList<>();

    /**
     * 每读取一行数据都会调用该方法
     *
     * @param data    当前行的数据
     * @param context 上下文
     */
    @Override
    public void invoke(QbSubjectArticleExcelMode data, AnalysisContext context) {
        dataList.add(data); // 将当前行数据添加到列表
    }

    /**
     * 所有数据解析完成后调用该方法
     *
     * @param context 上下文
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        System.out.println("Excel 文件解析完成");
    }

    /**
     * 获取解析后的数据列表
     *
     * @return 数据列表
     */
    public List<QbSubjectArticleExcelMode> getDataList() {
        return dataList;
    }
}